/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package proyectoempresa.DAO;

import java.util.List;
import javax.persistence.Query;
import proyectoempresa.modelo.Factura;
import proyectoempresa.modelo.Inventario;

/**
 *
 * @author Diego
 */
public class FacturaDao extends ComunDao_1<Factura>{

    public FacturaDao(Factura instancia) {
        super(instancia);
    }


    @Override
    public List<Factura> buscarTodos() {
       Query queri=this.getEntitimanager().createQuery("Select Factura from Factura factura ");
    return queri.getResultList();
    }

     public List<Factura>  buscarCedula(String cedula) {
       Query queri=this.getEntitimanager().createQuery("Select Factura from Factura factura where factura.cedula='"+cedula+"'");
    return queri.getResultList();
    }

        public List<Factura> buscarpoNombre(String nombre){
    String queryStr= "Select Factura from Factura factura "+"where factura.nombresCliente like concat(:palabraClave,'%')";
    Query query  =  this.getEntitimanager().createQuery(queryStr).setParameter("palabraClave", nombre);
    return query.getResultList();
    }
    public List<Factura> enconFecha(String fecha) {
        List<Factura> encontrado;
        Query buscar = getEntitimanager().createQuery("Select Factura from Factura factura WHERE factura.fecha='" + fecha + "'");
        encontrado = buscar.getResultList();
        return encontrado;
    }

public List<Factura> buscarId(String id) {
       Query queri=this.getEntitimanager().createQuery("Select Factura from Factura factura where factura.id_cliente='"+id+"'");
    return queri.getResultList();
    }
//public List<Factura> palabraClave(String id) {
//       Query queri=this.getEntitimanager().createQuery("Select Factura from Factura factura where"+"'"+id+"'"+"= factura.cedula");
//    return queri.getResultList();
//    }
     public Factura palabraClave(String cedula){
    String queryStr= "Select Factura from Factura factura  "+"where factura.cedula like concat(:palabraClave,'%')";
    Query query  =  this.getEntitimanager().createQuery(queryStr).setParameter("palabraClave", cedula);
    return  (Factura ) query.getSingleResult() ;
    }

}
